package com.winit.schedule.job.tracker.schedule;

import java.util.List;

import com.winit.schedule.core.model.AssignedTask;
import com.winit.schedule.core.repository.entity.TaskRunnerEntity;
import com.winit.schedule.core.repository.entity.TaskTrackerEntity;

/**
 * 任务调度接口
 * 
 * @author jianke.zhang 2015-4-20 下午3:57:05
 * @since 1.0
 */
public interface TaskScheduleManager {

    /**
     * 任务调度
     * 
     * @param taskTracker
     * @param runners
     * @return
     * @throws Exception
     */
    public List<AssignedTask> getExecutableTask(TaskTrackerEntity taskTracker, List<TaskRunnerEntity> runners)
                                                                                                              throws Exception;

}
